The Design and Construction of a User - Level Kernel forTeaching Multithreaded
نویسندگان
چکیده
| Multithreading is a powerful programming paradigm that has become very popular in recent years. The authors have developed a set of course materials and software tools for eeectively teaching multithreaded programming (MTP). One important component of the au-thors' system is a very simple user-level kernel for instructors to teach MTP without getting into system details , and for the students to add extensions. This paper presents the design and implementation of this kernel as well as its use in the classroom. This minimal user-level kernel employs a rst-come-rst-served scheduling policy , and permits a user to create and join threads, and use mutex locks. With this kernel, students are able to implement semaphores, barriers, reader-writer locks, mailboxes and condition variables. This approach has two advantages: (1) students can easily learn the basics and internal of a kernel that supports MTP, and (2) conventional debuggers can be used for debugging purposes, because the kernel is a user-level program.
منابع مشابه
The Design and Construction of a User - Level Kernel
| Multithreading is a powerful programming paradigm that has become very popular in recent years. The authors have developed a set of course materials and software tools for eeectively teaching multithreaded programming (MTP). One important component of the au-thors' system is a very simple user-level kernel for instructors to teach MTP without getting into system details , and for the students...
متن کاملDesign, Construction and Performance Evaluation of the Walnut Cracking Machine
The traditional method in Iran of cracking walnut manually, using harmer or knife cutter is laborintensive, slow and tedious; besides, most mechanical crackers do not give satisfactory results in terms of kernel extraction quality. A prototype machine was developed to crack walnut. A walnut cracker was designed, constructed and tested to evaluate its performance. The cracker, which consists of ...
متن کاملUser-Level Threads and Interprocess Communication
User-level threads have performance and exibility advantages over both Unix-like processes and kernel threads. However, the performance of user-level threads may su er in multiprogrammed environments, or when threads block in the kernel (e.g., for I/O). These problems can be particularly severe in tasks that communicate frequently using IPC (e.g., multithreaded servers), due to interactions bet...
متن کاملRuntime Performance Analysis of the M - to - N Scheduling
The popular M-toN thread scheduling model multiplexes many user-level threads on top of fewer kernel-level threads. While this model is designed to be scalable and eecient without excessive resource consumption, we isolate several elementary examples under which the M-toN model exhibits highly nonintuitive performance. We use a runtime performance monitor for multithreaded programs which we hav...
متن کاملA two-level multithreaded Delaunay kernel
This paper presents a fine grain parallel version of the 3D Delaunay Kernel procedure using the OpenMP (Open Multi-Processing) API. A set S = {p1, . . . , pn} of n points is taken as input. S is initially sorted along a space-filling curve so that two points that are close in the insertion order are also close geometrically. The sorted set of point is then divided into M subsets S i, 1 ≤ i ≤ M ...
متن کامل